#ifndef MATRIZ_H
#define MATRIZ_H

#include "aed2.h"

template<typename T>
class Matriz
{
public:
    Matriz(aed2::Nat, aed2::Nat, T);
    ~Matriz();
    Matriz(const Matriz& other);
    Matriz& operator=(const Matriz& other);
    void definir(aed2::Nat, aed2::Nat, T);
    T obtener(aed2::Nat, aed2::Nat) const;
    Arreglo<T> fila(aed2::Nat) const;
    Arreglo<T> columna(aed2::Nat) const;
    aed2::Nat altura() const;
    aed2::Nat ancho() const;
private:
    Arreglo< Arreglo<T> > mat;
};


#include "Matriz.cpp"

#endif // MATRIZ_H
